From cea89545347338b751ab9346f7c968fd6a75442c Mon Sep 17 00:00:00 2001 From: oliskoli Date: Mon, 9 Jul 2007 17:15:51 +0000 Subject: [PATCH] gbfile: Fix gbfungetc. Thanx to Gabriel Weisz. --- gbfile.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/gbfile.c b/gbfile.c index affa0066a..3b3489e2a 100644 --- a/gbfile.c +++ b/gbfile.c @@ -565,18 +565,25 @@ gbfeof(gbfile *file) int gbfungetc(const int c, gbfile *file) { - int r = -1; + int res; + if (file->gzapi) { #if !ZLIB_INHIBITED - file->back = -1; + if (file->back == -1) { + file->back = c; + res = c; + } + else { + fatal(MYNAME ": Cannot store more than one byte back!\n"); + } #else fatal(NO_ZLIB); #endif } else { - r = ungetc(c, file->handle.std); + res = ungetc(c, file->handle.std); } - return r; + return res; } /* GPSBabel 'file' enhancements */ -- 2.30.2